<!-- App.vue -->
<script>
import { onThemeChange } from "@dcloudio/uni-app";
import { initTabBarTheme, getCurrentTheme } from "@/utils/theme";

export default {
  onLaunch() {
    console.log("App Launch");
    // 初始化 tabBar 主题
    // 直接调用已导入的函数，移除 require 语句
    initTabBarTheme();

    // 监听系统主题变化
    this.listenSystemThemeChange();
  },

  onShow() {
    console.log("App Show");
    // 页面显示时也检查一次主题
    this.updateTabBarTheme();
  },

  onHide() {
    console.log("App Hide");
  },

  methods: {
    listenSystemThemeChange() {
      // 监听主题变化
      onThemeChange((res) => {
        this.updateTabBarTheme(res.theme);
      });
    },

    updateTabBarTheme(theme) {
      // 获取当前系统主题
      const currentTheme = theme || uni.getSystemInfoSync().theme;

      // 根据系统主题更新 tabBar 样式
      if (currentTheme === "dark") {
        // 深色主题下的选中颜色
        uni.setTabBarStyle({
          selectedColor: "#1aad19", // 可以根据需要调整颜色
        });
      } else {
        // 浅色主题下的选中颜色
        uni.setTabBarStyle({
          selectedColor: "#1aad19", // 可以根据需要调整颜色
        });
      }

      // 同时调用原有的主题初始化方法
      // 直接调用已导入的函数，移除 themeUtils 变量
      initTabBarTheme();
    },
  },
};
</script>
